home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-07-12 | 50.7 KB | 1,913 lines | [TEXT/MPS ] |
- (***************************)
- (* methods for TDesignView *)
- (***************************)
- {$S ARes}
- FUNCTION TDesignView.GetDocument: TDesignDocument;
-
- BEGIN
- GetDocument:= fDesignDocument;
- END; {TDesignView.GetDocument}
-
- {$S ARes}
- PROCEDURE TDesignView.SetDocument(theDesign:TDesignDocument);
-
- BEGIN
- fDesignDocument:= theDesign;
- END; {TDesignView.SetDocument}
-
- {$S ARes}
- FUNCTION TDesignView.GetSimpleViewList: TList;
-
- BEGIN
- GetSimpleViewList:= fSimpleViewList;
- END; {TDesignView.GetSimpleViewList}
-
- {$S ARes}
- PROCEDURE TDesignView.SetSimpleViewList(theSimpleViewList:TList);
-
- BEGIN
- fSimpleViewList:= theSimpleViewList;
- END; {TDesignView.SetSimpleViewList}
-
- {$S AOpen}
- PROCEDURE TDesignView.IRes(itsDocument: TDocument;
- itsSuperView: TView; VAR itsParams: Ptr); OVERRIDE;
-
- VAR
- aList: TList;
-
- BEGIN
- INHERITED IRes(itsDocument, itsSuperView, itsParams);
- aList:= NewList;
- SELF.SetSimpleViewList(aList);
- SELF.SetDocument(TDesignDocument(itsDocument));
- END; {TDesignView.IRes}
-
- {$S ARes}
- PROCEDURE TDesignView.CalcMinSize(VAR minSize: VPoint); OVERRIDE;
-
- VAR
- maxH,
- maxV: LONGINT;
-
- PROCEDURE CalcMaxs(theSimpleView: TSimpleView);
-
- VAR
- theFrame: VRect;
-
- BEGIN
- theSimpleView.GetFrame(theFrame);
- IF theFrame.right > maxH THEN
- maxH:= theFrame.right;
- IF theFrame.bottom > maxV THEN
- maxV:= theFrame.bottom;
- END; {CalcMaxs}
-
- BEGIN
- maxH:= 10; { the view is sizeFillPage, so if we start with }
- maxV:= 10; { something, it will be rounded up to full pages }
- fSimpleViewList.Each(CalcMaxs);
- minSize.h:= maxH;
- minSize.v:= maxV;
- END; {TDesignView.CalcMinSize}
-
- {$S ASelCommand}
- FUNCTION TDesignView.MakeAddCardCmd(theVPoint: VPoint): TAddCardCommand;
-
- VAR
- aNewCardCmd: TAddCardCommand;
- theDocument: TDesignDocument;
-
- BEGIN
- NEW(aNewCardCmd);
- FailNil(aNewCardCmd);
- theDocument:= SELF.GetDocument;
- aNewCardCmd.IAddCardCommand(theVPoint, theDocument);
- MakeAddCardCmd:= aNewCardCmd;
- END; {TDesignView.MakeAddCardCmd}
-
- {$S ASelCommand}
- FUNCTION TDesignView.MakeDeleteCardCmd: TDeleteCardCommand;
-
- VAR
- aDeleteCardCmd: TDeleteCardCommand;
- theCard: TCard;
- theIndex: ArrayIndex;
-
- BEGIN
- NEW(aDeleteCardCmd);
- FailNIL(aDeleteCardCmd);
- theCard:= fDesignDocument.GetCurrentCard;
- theIndex:= fDesignDocument.GetIndexOfCard(theCard);
- aDeleteCardCmd.IDeleteCardCommand(theCard, theIndex);
- MakeDeleteCardCmd:= aDeleteCardCmd;
- END; {TDesignView.MakeDeleteCardCmd}
-
- {$S ASelCommand}
- FUNCTION TDesignView.DoMouseCommand(VAR theMouse: Point; VAR info: EventInfo;
- VAR hysteresis: Point): TCommand; OVERRIDE;
-
- VAR
- disPlacement, {this is hardwired to the size of TSimpleView -- YUK!!!}
- theVPoint: VPoint;
-
- BEGIN
- DoMouseCommand:= gNoChanges;
- CASE info.theClickCount OF
- kOneClick:
- IF info.theCmdKey THEN
- BEGIN
- SetVPt(disPlacement, -53, -20);
- PtToVPt(theMouse, theVPoint);
- AddVPt(disPlacement, theVPoint);
- IF theVPoint.h < 0 THEN
- theVPoint.h:= 0;
- IF theVPoint.v < 0 THEN
- theVPoint.v:= 0;
- DoMouseCommand:= SELF.MakeAddCardCmd(theVPoint);
- END
- ELSE
- fDesignDocument.SetCurrentCard(NIL);
- OTHERWISE
- {do nothing};
- END; {CASE}
- END; {TDesignView.DoMouseCommand}
-
- {$S ASelCommand}
- FUNCTION TDesignView.DoMenuCommand(aCmdNumber: CmdNumber):TCommand;OVERRIDE;
-
- VAR
- theVPoint: VPoint;
- theCard: TCard;
- theSimpleView: TSimpleView;
- ourScroller: TScroller;
- theTranslation: VPoint;
-
- BEGIN
- DoMenuCommand:= gNoChanges;
- CASE aCmdNumber OF
- cEditCardCmd:
- BEGIN
- theCard:= fDesignDocument.GetCurrentCard;
- theSimpleView:= theCard.GetSimpleView;
- theSimpleView.OpenEditView;
- END;
- cDeleteCardCmd: DoMenuCommand:= SELF.MakeDeleteCardCmd;
- cNewCardCmd:
- BEGIN
- SetVPt(theVPoint, 50, 50);
- ourScroller:= SELF.GetScroller(kImediateSuperView);
- theTranslation:= ourScroller.fTranslation;
- AddVPt(theTranslation, theVPoint);
- DoMenuCommand:= SELF.MakeAddCardCmd(theVPoint);
- END;
- OTHERWISE {always do this, so other objects get a chance}
- DoMenuCommand := INHERITED DoMenuCommand(aCmdNumber);
-
- END; {Case}
- END; {TDesignView.DoMenuCommand}
-
- {$S ARes}
- PROCEDURE TDesignView.DoSetupMenus; OVERRIDE;
-
- BEGIN
- INHERITED DoSetupMenus;
- IF fDesignDocument.GetNumCards < maxInt THEN
- Enable(cNewCardCmd, TRUE);
- IF fDesignDocument.GetCurrentCard <> NIL THEN
- BEGIN
- Enable(cEditCardCmd, TRUE);
- Enable(cDeleteCardCmd, TRUE);
- END;
- END; {TDesignView.DoSetupMenus}
-
- {$S AClose}
- PROCEDURE TDesignView.Free; OVERRIDE;
-
- BEGIN
- fSimpleViewList.FreeList;
- INHERITED Free;
- END; {TDesignView.Free}
-
- {$S AFields}
- PROCEDURE TDesignView.Fields(PROCEDURE DoToField(
- fieldName: Str255; fieldAddr: Ptr; fieldType: INTEGER)); OVERRIDE;
-
- BEGIN
- DoToField('TDesignView', NIL, bClass);
- DoToField('fDesignDocument', @fDesignDocument, bObject);
- DoToField('fSimpleViewList', @fSimpleViewList, bObject);
- INHERITED Fields(DoToField);
- END; {TDesignView.Fields}
-
-
- (*************************)
- (* methods for TEditView *)
- (*************************)
-
- {$S ARes}
- FUNCTION TEditView.GetCard: TCard;
-
- BEGIN
- GetCard:= fCard;
- END; {TEditView.GetCard}
-
- {$S ARes}
- PROCEDURE TEditView.SetCard(theCard:TCard);
-
- BEGIN
- fCard:= theCard;
- END; {TEditView.SetCard}
-
- {$S ARes}
- FUNCTION TEditView.GetFieldEntryView: TEditText;
-
- BEGIN
- GetFieldEntryView:= fFieldEntryItem;
- END; {TEditView.GetFieldEntryView}
-
- {$S ARes}
- PROCEDURE TEditView.SetFieldEntryView(theEntryView:TEditText);
-
- BEGIN
- fFieldEntryItem:= theEntryView;
- END; {TEditView.SetFieldEntryView}
-
- {$S ARes}
- FUNCTION TEditView.GetTypeEntryView: TEditText;
-
- BEGIN
- GetTypeEntryView:= fFieldTypeEntryItem;
- END; {TEditView.GetTypeEntryView}
-
- {$S ARes}
- PROCEDURE TEditView.SetTypeEntryView(theEntryView:TEditText);
-
- BEGIN
- fFieldTypeEntryItem:= theEntryView;
- END; {TEditView.SetTypeEntryView}
-
- {$S ARes}
- PROCEDURE TEditView.SetOurWindowTitle;
-
- VAR
- ourWindow: TWindow;
- ourNameItem: TItem;
- ourClassName: str255;
-
- BEGIN
- ourWindow:= SELF.GetWindow;
- ourNameItem:= fCard.GetTheClass;
- ourClassName:= ourNameItem.GetTheName;
- ourWindow.SetTitle(ourClassName);
- END; {TEditView.SetOurWindowTitle}
-
- {$S ARes}
- PROCEDURE TEditView.ChangeOurWindowTitle;
-
- VAR
- theNewTitle: str255;
- theClassItem: TItem;
-
- BEGIN
- fClassNameItem.GetText(theNewTitle);
- theClassItem:= fCard.GetTheClass;
- theClassItem.SetTheName(theNewTitle);
- SELF.SetOurWindowTitle;
- END; {TEditView.ChangeOurWindowTitle}
-
- {$S ARes}
- PROCEDURE TEditView.SetOurClassName;
-
- VAR
- ourClassName: str255;
- theClassItem: TItem;
-
- BEGIN
- theClassItem:= fCard.GetTheClass;
- ourClassName:= theClassItem.GetTheName;
- fClassNameItem.SetText(ourClassName, true);
- SELF.DoSelectEditText(fClassNameItem, TRUE);
- END; {TEditView.SetOurClassName}
-
- {$S ARes}
- FUNCTION TEditView.GetOurClassName: str255;
-
- BEGIN
- fClassNameItem.GetText(GetOurClassName);
- END; {TEditView.GetOurClassName}
-
- {$S ARes}
- PROCEDURE TEditView.SetOurSuperClassName;
-
- VAR
- ourSuperClassName: str255;
- theSuperClassItem: TItem;
-
- BEGIN
- theSuperClassItem:= fCard.GetTheSuperClass;
- ourSuperClassName:= theSuperClassItem.GetTheName;
- fSuperClassNameItem.SetText(ourSuperClassName, true);
- END; {TEditView.SetOurSuperClassName}
-
- {$S ARes}
- FUNCTION TEditView.GetOurSuperClassName: str255;
-
- BEGIN
- fSuperClassNameItem.GetText(GetOurSuperClassName);
- END; {TEditView.GetOurSuperClassName}
-
- {$S ARes}
- PROCEDURE TEditView.SetUpOurTextListViews;
-
- VAR
- anItemList: TMyList;
- itsSize: INTEGER;
-
- BEGIN
- anItemList:= fCard.GetFields;
- itsSize:= anItemList.GetSize;
- fFieldTextListView:= TFieldTextListView(SELF.FindSubView(kFieldListID));
- fFieldTextListView.SetItemList(anItemList);
- fFieldTextListView.InsItemLast(itsSize);
- fFieldTextListView.SetEditView(SELF);
-
- anItemList:= fCard.GetMethods;
- itsSize:= anItemList.GetSize;
- fMethodTextListView:= TMethodTextListView(SELF.FindSubView(kMethodListID));
- fMethodTextListView.SetItemList(anItemList);
- fMethodTextListView.InsItemLast(itsSize);
- fMethodTextListView.SetEditView(SELF);
-
- anItemList:= fCard.GetCollaborators;
- itsSize:= anItemList.GetSize;
- fCollaboratorTextListView:= TCollaboratorTextListView(SELF.FindSubView(kCollaboratorListID));
- fCollaboratorTextListView.SetItemList(anItemList);
- fCollaboratorTextListView.InsItemLast(itsSize);
- fCollaboratorTextListView.SetEditView(SELF);
- END; {TEditView.SetUpOurTextListViews}
-
- {$S ARes}
- PROCEDURE TEditView.SetUpOurEntryViews;
- VAR
- theCheckBox:TCheckBox;
- fNewFieldButton: TNewFieldButton;
- fNewMethodButton: TNewMethodButton;
- fNewCollaboratorButton: TNewCollaboratorButton;
-
- BEGIN
- fNewFieldButton:= TNewFieldButton(SELF.FindSubView(kFieldButtonID));
- fNewFieldButton.INewButton(SELF);
- fNewMethodButton:= TNewMethodButton(SELF.FindSubView(kMethodButtonID));
- fNewMethodButton.INewButton(SELF);
- fNewCollaboratorButton:= TNewCollaboratorButton(SELF.FindSubView(kCollaboratorButtonID));
- fNewCollaboratorButton.INewButton(SELF);
- fTypeCluster:= TCluster(SELF.FindSubView(kTypeClusterID));
- theCheckBox:= TCheckBox(SELF.FindSubView(kOVERRIDEBoxID));
- SELF.SetOVERRIDEBox(theCheckBox);
- fClassNameItem:= TEditText(SELF.FindSubView(kClassEntryID));
- fSuperClassNameItem:= TEditText(SELF.FindSubView(kSuperClassEntryID));
- fFieldEntryItem:= TEditText(SELF.FindSubView(kFieldEntryID));
- fFieldEntryName:= TStaticText(SELF.FindSubView(kFieldEntryNameID));
- fFieldTypeEntryItem:= TEditText(SELF.FindSubView(kFieldTypeEntryID));
- fFieldTypeEntryName:= TStaticText(SELF.FindSubView(kFieldTypeEntryNameID));
- END; {TEditView.SetUpOurEntryViews}
-
- {$S ARes}
- PROCEDURE TEditView.StuffFieldTypeEntryItem;
-
- VAR
- typeMenuItemNum: INTEGER;
- theTypeStr: str255;
-
- BEGIN
- CASE fEditMode OF
- kFieldsMode:
- BEGIN
- typeMenuItemNum:= fItemTypeMenu.GetCurrentItem;
- fItemTypeMenu.GetItemText(typeMenuItemNum, theTypeStr);
- fFieldTypeEntryItem.SetText(theTypeStr, kRedraw);
- SELF.DoSelectEditText(fFieldTypeEntryItem, TRUE);
- END;
- kCollaboratorsMode:
- BEGIN
- typeMenuItemNum:= fCollaboratorsMenu.GetCurrentItem;
- fCollaboratorsMenu.GetItemText(typeMenuItemNum, theTypeStr);
- fFieldEntryItem.SetText(theTypeStr, kRedraw);
- SELF.DoSelectEditText(fFieldEntryItem, TRUE);
- END;
- kMethodsMode:
- BEGIN
- END;
- END; {CASE}
- END; {TEditView.StuffFieldTypeEntryItem}
-
- {$S ARes}
- PROCEDURE TEditView.StuffSuperClassEntryItem;
-
- VAR
- typeMenuItemNum: INTEGER;
- theTypeStr: str255;
-
- BEGIN
- typeMenuItemNum:= fSuperClassTypeMenu.GetCurrentItem;
- fSuperClassTypeMenu.GetItemText(typeMenuItemNum, theTypeStr);
- fSuperClassNameItem.SetText(theTypeStr, kRedraw);
- SELF.DoSelectEditText(fSuperClassNameItem, TRUE);
- END; {TEditView.StuffSuperClassEntryItem}
-
- {$S ARes}
- FUNCTION TEditView.GetOVERRIDEBox: TCheckBox;
-
- BEGIN
- GetOVERRIDEBox:= fOVERRIDEBox;
- END; {TEditView.GetOVERRIDEBox}
-
- {$S ARes}
- PROCEDURE TEditView.SetOVERRIDEBox(theBox:TCheckBox);
-
- BEGIN
- fOVERRIDEBox:= theBox;
- END; {TEditView.SetOVERRIDEBox}
-
- {$S ARes}
- PROCEDURE TEditView.SetOVERRIDE(overrideIt:Boolean);
- BEGIN
- fOVERRIDEBox.SetState(overrideIt, kRedraw);
- END;
-
- {$S ARes}
- PROCEDURE TEditView.SetUpFieldsMode;
- BEGIN
- fFieldEntryItem.SetText(kEmptyString, kRedraw);
- fFieldTypeEntryItem.SetText(kEmptyString, kRedraw);
- IF fEditMode <> kFieldsMode THEN
- BEGIN
- fEditMode:=kFieldsMode;
- fTypeCluster.SetLabel('Fields',kRedraw);
- fFieldEntryName.SetText('Field Name:',NOT kRedraw);
- fFieldTypeEntryName.Show(kVisible,NOT kRedraw);
- fFieldTypeEntryName.SetText('Field Type:',NOT kRedraw);
- fItemTypeMenu.ViewEnable(kVisible,NOT kRedraw);
- fItemTypeMenu.Show(kVisible,NOT kRedraw);
- fCollaboratorsMenu.ViewEnable(kInvisible,NOT kRedraw);
- fCollaboratorsMenu.Show(kInvisible,NOT kRedraw);
- fOVERRIDEBox.ViewEnable(kInvisible,NOT kRedraw);
- fOVERRIDEBox.Show(kInvisible,NOT kRedraw);
- fFieldTypeEntryItem.ViewEnable(kVisible,NOT kRedraw);
- fFieldTypeEntryItem.Show(kVisible,NOT kRedraw);
- END;
- SELF.StuffFieldTypeEntryItem;
- SELF.DoSelectEditText(fFieldEntryItem, TRUE);
- END; {TEditView.SetUpFieldsMode}
-
- {$S ARes}
- PROCEDURE TEditView.SetUpMethodsMode;
- BEGIN
- fFieldEntryItem.SetText(kEmptyString, kRedraw);
- fFieldTypeEntryItem.SetText(kEmptyString, kRedraw);
- IF fEditMode <> kMethodsMode THEN
- BEGIN
- fEditMode:=kMethodsMode;
- fTypeCluster.SetLabel('Methods',kRedraw);
- fFieldEntryName.SetText('Method Name:',NOT kRedraw);
- fFieldTypeEntryName.Show(kInvisible,NOT kRedraw);
- fFieldTypeEntryName.SetText('Method Type:',NOT kRedraw);
- fItemTypeMenu.ViewEnable(kInvisible,NOT kRedraw);
- fItemTypeMenu.Show(kInvisible,NOT kRedraw);
- fCollaboratorsMenu.ViewEnable(kInvisible,NOT kRedraw);
- fCollaboratorsMenu.Show(kInvisible,NOT kRedraw);
- fOVERRIDEBox.ViewEnable(kVisible,NOT kRedraw);
- fOVERRIDEBox.Show(kVisible,NOT kRedraw);
- fFieldTypeEntryItem.ViewEnable(kInvisible,NOT kRedraw);
- fFieldTypeEntryItem.Show(kInvisible,NOT kRedraw);
- END;
- fOVERRIDEBox.SetState(NOT kControlOn, kRedraw);
- SELF.StuffFieldTypeEntryItem;
- SELF.DoSelectEditText(fFieldEntryItem, TRUE);
- END; {TEditView.SetUpMethodsMode}
-
- {$S ARes}
- PROCEDURE TEditView.SetUpCollaboratorsMode;
- BEGIN
- fFieldEntryItem.SetText(kEmptyString, kRedraw);
- fFieldTypeEntryItem.SetText(kEmptyString, kRedraw);
- IF fEditMode<>kCollaboratorsMode THEN
- BEGIN
- fEditMode:=kCollaboratorsMode;
- fTypeCluster.SetLabel('Collaborators',kRedraw);
- fFieldEntryName.SetText('Collaborator:',NOT kRedraw);
- fFieldTypeEntryName.Show(kInvisible,NOT kRedraw);
- fItemTypeMenu.ViewEnable(kInvisible,NOT kRedraw);
- fItemTypeMenu.Show(kInvisible,NOT kRedraw);
- fCollaboratorsMenu.ViewEnable(kVisible,NOT kRedraw);
- fCollaboratorsMenu.Show(kVisible,NOT kRedraw);
- fOVERRIDEBox.Show(kInvisible,NOT kRedraw);
- fOVERRIDEBox.ViewEnable(kInvisible,NOT kRedraw);
- fFieldTypeEntryItem.Show(kInvisible,NOT kRedraw);
- fFieldTypeEntryItem.ViewEnable(kInvisible,NOT kRedraw);
- END;
- SELF.StuffFieldTypeEntryItem;
- SELF.DoSelectEditText(fFieldEntryItem, TRUE);
- END; {TEditView.SetUpCollaboratorsMode}
-
- {$S ADoCommand}
- PROCEDURE TEditView.AddCardToObjectLists(theCardToAdd: TCard);
-
- VAR
- theClass: Str255;
- theObjectMenu: TPopup;
-
- PROCEDURE AddTheItem(thePopup: TPopup; theItem: Str255);
-
- VAR
- theMenu: MenuHandle;
- itemNumber, currentItemNumber: Integer;
- aString: Str255;
-
- BEGIN
- theMenu:=thePopup.fMenuHandle;
- currentItemNumber:=thePopup.GetCurrentItem;
- itemNumber:=2;
- REPEAT
- itemNumber:=itemNumber+1;
- GetItem(theMenu, itemNumber, aString);
- UNTIL aString=kBlankLine;
- InsMenuItem(theMenu, theItem, itemNumber-1);
-
- {if we inserted before the current item, bump the current item up one}
- IF currentItemNumber>=itemNumber THEN
- thePopup.SetCurrentItem(currentItemNumber + 1, NOT kRedraw);
- END;
-
- BEGIN
- theClass:= theCardToAdd.GetTheClass.GetTheName;
- theObjectMenu:= SELF.fSuperClassTypeMenu;
- AddTheItem(theObjectMenu, theClass);
- theObjectMenu:= SELF.fCollaboratorsMenu;
- AddTheItem(theObjectMenu, theClass);
- END; {TEditView.AddCardToObjectLists}
-
- {$S ADoCommand}
- PROCEDURE TEditView.RemoveCardFromObjectLists(theCardToRemove: TCard);
-
- VAR
- theClass: Str255;
- theObjectMenu: TPopup;
-
- PROCEDURE RemoveTheItem(thePopup: TPopup; theItem: Str255);
-
- VAR
- theMenu: MenuHandle;
- itemNumber: Integer;
- aString: Str255;
-
- BEGIN
- theMenu:=thePopup.fMenuHandle;
- itemNumber:=2;
- REPEAT
- itemNumber:=itemNumber+1;
- GetItem(theMenu, itemNumber, aString);
- UNTIL aString=theItem;
- DelMenuItem(theMenu, itemNumber);
- END;
-
- BEGIN
- theClass:= theCardToRemove.GetTheClass.GetTheName;
- theObjectMenu:= SELF.fSuperClassTypeMenu;
- RemoveTheItem(theObjectMenu, theClass);
- theObjectMenu:= SELF.fCollaboratorsMenu;
- RemoveTheItem(theObjectMenu, theClass);
- END; {TEditView.RemoveCardFromObjectLists}
-
- {$S ADoCommand}
- PROCEDURE TEditView.ChangeNameInObjectLists(theOldName, theNewName: Str255);
- VAR
- theObjectMenu: TPopup;
-
- PROCEDURE ChangeTheItem(thePopup: TPopup);
-
- VAR
- theMenu: MenuHandle;
- itemNumber: Integer;
- aString: Str255;
-
- BEGIN
- theMenu:=thePopup.fMenuHandle;
- itemNumber:=2;
- REPEAT
- itemNumber:=itemNumber+1;
- GetItem(theMenu, itemNumber, aString);
- UNTIL aString=theOldName;
- SetItem(theMenu, itemNumber, theNewName);
- END;
-
- BEGIN
- theObjectMenu:= SELF.fSuperClassTypeMenu;
- ChangeTheItem(theObjectMenu);
- theObjectMenu.ForceRedraw;
- theObjectMenu:= SELF.fCollaboratorsMenu;
- ChangeTheItem(theObjectMenu);
- theObjectMenu.ForceRedraw;
- END; {TEditView.ChangeNameInObjectLists}
-
- {$S AOpen}
- PROCEDURE TEditView.IEditView(theCard: TCard);
-
- VAR
- theTextHandler: TTextHandler;
-
- BEGIN
- SELF.SetCard(theCard);
- SELF.SetOurWindowTitle;
- SELF.SetUpOurEntryViews;
- SELF.SetUpOurTextListViews;
-
- theTextHandler:=SELF.GetCard.GetTextHandler;
-
- {setup the Type Menu for Methods & Fields}
- fItemTypeMenu:= TPopUp(SELF.FindSubView(kItemTypeMenuID));
- theTextHandler.SetItemTypeMenu(SELF.fItemTypeMenu);
- SELF.StuffFieldTypeEntryItem;
-
- {setup the SuperClass Menu}
- fSuperClassTypeMenu:= TPopUp(SELF.FindSubView(kSuperClassTypeMenuID));
- theTextHandler.SetSuperClassTypeMenu(SELF.fSuperClassTypeMenu);
- SELF.StuffSuperClassEntryItem;
-
- {setup the Collaborators Menu}
- fCollaboratorsMenu:= TPopUp(SELF.FindSubView(kCollaboratorsMenuID));
- theTextHandler.SetCollaboratorsMenu(SELF.fCollaboratorsMenu);
- {don't stuff anything, because it's not shown originally}
-
- SELF.SetOurClassName;
- SELF.SetOurSuperClassName;
- SELF.SetUpFieldsMode;
- SELF.DoSelectEditText(fClassNameItem, TRUE);
- END; {TEditView.IEditView}
-
- {$S ADoCommand}
- PROCEDURE TEditView.ChangeClassName(theName: str255);
-
- BEGIN
- fClassNameItem.SetText(theName, kReDraw);
- SELF.ChangeOurWindowTitle;
- END; {TEditView.ChangeClassName}
-
- {$S ADoCommand}
- PROCEDURE TEditView.ChangeSuperClassName(theName: str255);
-
- BEGIN
- fSuperClassNameItem.SetText(theName, kReDraw);
- END; {TEditView.ChangeSuperClassName}
-
- {$S ASelCommand}
- FUNCTION TEditView.MakeChangeClassCmd: TChangeClassCommand;
-
- VAR
- theItem: TItem;
- theOldName: str255;
- theNewName: str255;
- aChangeClassCmd: TChangeClassCommand;
-
- BEGIN
- theItem:= fCard.GetTheClass;
- theOldName:= theItem.GetTheName;
- fClassNameItem.GetText(theNewName);
- NEW(aChangeClassCmd);
- FailNIL(aChangeClassCmd);
- aChangeClassCmd.IChangeNameCommand(cChangeNameCmd, fCard, theOldName, theNewName);
- MakeChangeClassCmd:= aChangeClassCmd;
- END; {TEditView.MakeChangeClassCmd}
-
- {$S ASelCommand}
- FUNCTION TEditView.MakeChangeSuperClassCmd: TChangeSuperClassCommand;
-
- VAR
- theItem: TItem;
- theOldName: str255;
- theNewName: str255;
- aChangeSuperClassCmd: TChangeSuperClassCommand;
-
- BEGIN
- theItem:= fCard.GetTheSuperClass;
- theOldName:= theItem.GetTheName;
- fSuperClassNameItem.GetText(theNewName);
- NEW(aChangeSuperClassCmd);
- FailNIL(aChangeSuperClassCmd);
- aChangeSuperClassCmd.IChangeNameCommand(cChangeSuperClassCmd, fCard, theOldName,
- theNewName);
- MakeChangeSuperClassCmd:= aChangeSuperClassCmd;
- END; {TEditView.MakeChangeSuperClassCmd}
-
- {$S ASelCommand}
- FUNCTION TEditView.MakeAddFieldCmd: TAddFieldItemCommand;
-
- VAR
- theItemName: str255;
- theTypeStr: str255;
- anAddFieldCmd: TAddFieldItemCommand;
-
- BEGIN
- fFieldEntryItem.GetText(theItemName);
- fFieldTypeEntryItem.GetText(theTypeStr);
- NEW(anAddFieldCmd);
- FailNIL(anAddFieldCmd);
- anAddFieldCmd.IAddFieldItemCommand(fCard, theItemName, theTypeStr);
- MakeAddFieldCmd:= anAddFieldCmd;
- END; {TEditView.MakeAddFieldCmd}
-
- {$S ASelCommand}
- FUNCTION TEditView.MakeChangeFieldCmd: TChangeFieldCommand;
-
- VAR
- theItemName: str255;
- theTypeStr: str255;
- theField: TFieldItem;
- theFieldsList: TMyList;
- aChangeFieldCmd: TChangeFieldCommand;
-
- BEGIN
- fFieldEntryItem.GetText(theItemName);
- fFieldTypeEntryItem.GetText(theTypeStr);
- theFieldsList:= fFieldTextListView.GetItemList;
- theField:= TFieldItem(theFieldsList.At(fFieldTextListView.FirstSelectedItem));
- NEW(aChangeFieldCmd);
- FailNIL(aChangeFieldCmd);
- aChangeFieldCmd.IChangeFieldCommand(cChangeFieldCmd, fCard, theField,
- theItemName, theTypeStr);
- MakeChangeFieldCmd:= aChangeFieldCmd;
- END; {TEditView.MakeChangeFieldCmd}
-
- {$S ASelCommand}
- FUNCTION TEditView.MakeAddMethodCmd: TAddMethodItemCommand;
-
- VAR
- makeItAnOverride: boolean;
- theItemName: str255;
- anAddMethodCmd: TAddMethodItemCommand;
-
- BEGIN
- makeItAnOverride:= NOT kOVERRIDE;
- IF fOVERRIDEBox.IsOn THEN
- makeItAnOverride:= kOVERRIDE;
- fFieldEntryItem.GetText(theItemName);
- NEW(anAddMethodCmd);
- FailNIL(anAddMethodCmd);
- anAddMethodCmd.IAddMethodItemCommand(fCard, theItemName, makeItAnOverride);
- MakeAddMethodCmd:= anAddMethodCmd;
- END; {TEditView.MakeAddMethodCmd}
-
- {$S ASelCommand}
- FUNCTION TEditView.MakeChangeMethodCmd: TChangeMethodCommand;
-
- VAR
- theItemName: str255;
- makeItAnOverride: Boolean;
- theMethod: TMethodItem;
- theMethodsList: TMyList;
- aChangeMethodCommand: TChangeMethodCommand;
-
- BEGIN
- fFieldEntryItem.GetText(theItemName);
- makeItAnOverride:= NOT kOVERRIDE;
- IF fOVERRIDEBox.IsOn THEN
- makeItAnOverride:= kOVERRIDE;
- theMethodsList:= fMethodTextListView.GetItemList;
- theMethod:= TMethodItem(theMethodsList.At
- (fMethodTextListView.FirstSelectedItem));
- NEW(aChangeMethodCommand);
- FailNIL(aChangeMethodCommand);
- aChangeMethodCommand.IChangeMethodCommand(cChangeMethodCmd, fCard, theMethod,
- theItemName, makeItAnOverride);
- MakeChangeMethodCmd:= aChangeMethodCommand;
- END; {TEditView.MakeChangeMethodCmd}
-
- {$S ASelCommand}
- FUNCTION TEditView.MakeAddCollabCmd: TAddCollaboratorItemCommand;
-
- VAR
- theItemName: str255;
- anAddCollaboratorCmd: TAddCollaboratorItemCommand;
-
- BEGIN
- fFieldEntryItem.GetText(theItemName);
- NEW(anAddCollaboratorCmd);
- FailNIL(anAddCollaboratorCmd);
- anAddCollaboratorCmd.IAddCollaboratorItemCommand(fCard, theItemName);
- MakeAddCollabCmd:= anAddCollaboratorCmd;
- END; {TEditView.MakeAddCollabCmd}
-
- {$S ASelCommand}
- FUNCTION TEditView.MakeChangeCollaboratorCmd: TChangeCollaboratorCommand;
-
- VAR
- theItemName: str255;
- theCollaborator: TCollaboratorItem;
- theCollaboratorsList: TMyList;
- aChangeCollaboratorCommand: TChangeCollaboratorCommand;
-
- BEGIN
- fFieldEntryItem.GetText(theItemName);
- theCollaboratorsList:= fCollaboratorTextListView.GetItemList;
- theCollaborator:= TCollaboratorItem(theCollaboratorsList.At
- (fCollaboratorTextListView.FirstSelectedItem));
- NEW(aChangeCollaboratorCommand);
- FailNIL(aChangeCollaboratorCommand);
- aChangeCollaboratorCommand.IChangeCollaboratorCommand(cChangeCollaboratorCmd,
- fCard, theCollaborator, theItemName);
- MakeChangeCollaboratorCmd:= aChangeCollaboratorCommand;
- END; {TEditView.MakeChangeCollaboratorCmd}
-
- {$S ASelCommand}
- FUNCTION TEditView.MakeDeleteFieldCmd: TDeleteFieldItemCommand;
-
- VAR
- theIndex: ArrayIndex;
- theItem: TFieldItem;
- aDeleteFieldCmd: TDeleteFieldItemCommand;
-
- BEGIN
- theIndex:= fFieldTextListView.FirstSelectedItem;
- theItem:= fCard.GetFieldItemAtIndex(theIndex);
- NEW(aDeleteFieldCmd);
- FailNIL(aDeleteFieldCmd);
- aDeleteFieldCmd.IDeleteFieldItemCommand(fCard, theItem, theIndex);
- MakeDeleteFieldCmd:= aDeleteFieldCmd;
- END; {TEditView.MakeDeleteFieldCmd}
-
- {$S ASelCommand}
- FUNCTION TEditView.MakeDeleteMethodCmd: TDeleteMethodItemCommand;
-
- VAR
- theIndex: ArrayIndex;
- theItem: TMethodItem;
- aDeleteMethodCmd: TDeleteMethodItemCommand;
-
- BEGIN
- theIndex:= fMethodTextListView.FirstSelectedItem;
- theItem:= fCard.GetMethodItemAtIndex(theIndex);
- NEW(aDeleteMethodCmd);
- FailNIL(aDeleteMethodCmd);
- aDeleteMethodCmd.IDeleteMethodItemCommand(fCard, theItem, theIndex);
- MakeDeleteMethodCmd:= aDeleteMethodCmd;
- END; {TEditView.MakeDeleteMethodCmd}
-
- {$S ASelCommand}
- FUNCTION TEditView.MakeDeleteCollabCmd: TDeleteCollabItemCommand;
-
- VAR
- theIndex: ArrayIndex;
- theItem: TCollaboratorItem;
- aDeleteCollabCmd: TDeleteCollabItemCommand;
-
- BEGIN
- theIndex:= fCollaboratorTextListView.FirstSelectedItem;
- theItem:= fCard.GetCollaboratorItemAtIndex(theIndex);
- NEW(aDeleteCollabCmd);
- FailNIL(aDeleteCollabCmd);
- aDeleteCollabCmd.IDeleteCollabItemCommand(fCard, theItem, theIndex);
- MakeDeleteCollabCmd:= aDeleteCollabCmd;
- END; {TEditView.MakeDeleteCollabCmd}
-
- {$S ARes}
- FUNCTION TEditView.DoKeyCommand(ch: CHAR; aKeyCode: INTEGER; VAR info: EventInfo)
- : TCommand; OVERRIDE;
- BEGIN
- IF (ch = chTab) THEN SELF.DoChoice(fCurrentEditText, mEditTabKey);
- IF (ch = chEnter) THEN SELF.DoChoice(fCurrentEditText, mEditEnterKey);
- IF (ch = chReturn) THEN SELF.DoChoice(fCurrentEditText, mEditReturnKey);
- DoKeyCommand:= Inherited DoKeyCommand(ch, aKeyCode, info);
- END;
-
- {$S ASelCommand}
- FUNCTION TEditView.DoMenuCommand(aCmdNumber: CmdNumber):TCommand;OVERRIDE;
-
- BEGIN
- DoMenuCommand:= gNoChanges; {in case we don't do anything}
- CASE aCmdNumber OF
- cChangeNameCmd: DoMenuCommand:= SELF.MakeChangeClassCmd;
- cChangeSuperClassCmd: DoMenuCommand:= SELF.MakeChangeSuperClassCmd;
- cAddFieldCmd: DoMenuCommand:= SELF.MakeAddFieldCmd;
- cAddMethodCmd: DoMenuCommand:= SELF.MakeAddMethodCmd;
- cAddCollaboratorCmd: DoMenuCommand:= SELF.MakeAddCollabCmd;
- cDelFieldCmd: DoMenuCommand:= SELF.MakeDeleteFieldCmd;
- cDelMethodCmd: DoMenuCommand:= SELF.MakeDeleteMethodCmd;
- cDelCollaboratorCmd: DoMenuCommand:= SELF.MakeDeleteCollabCmd;
- OTHERWISE {always do this, so other objects get a chance}
- DoMenuCommand := INHERITED DoMenuCommand(aCmdNumber);
- END; {Case}
- END; {TEditView.DoMenuCommand}
-
- {$S ARes}
- PROCEDURE TEditView.DoSetupMenus; OVERRIDE;
-
- VAR
- theTypeStr,
- theEntryItemStr: str255;
- theItem: TItem;
-
- BEGIN
- INHERITED DoSetupMenus;
-
- fClassNameItem.GetText(theEntryItemStr);
- theItem:= fCard.GetTheClass;
- IF theEntryItemStr <> theItem.GetTheName THEN
- ENable(cChangeNameCmd, TRUE);
-
- fSuperClassNameItem.GetText(theEntryItemStr);
- theItem:= fCard.GetTheSuperClass;
- IF theEntryItemStr <> theItem.GetTheName THEN
- Enable(cChangeSuperClassCmd, TRUE);
-
- fFieldEntryItem.GetText(theEntryItemStr);
- IF theEntryItemStr <> kEmptyString THEN
- CASE fEditMode OF
- kFieldsMode:
- BEGIN
- fFieldTypeEntryItem.GetText(theTypeStr);
- IF (theTypeStr <> kEmptyString) THEN
- Enable(cAddFieldCmd, TRUE);
- END;
- kMethodsMode:
- IF theEntryItemStr <> kEmptyString THEN
- Enable(cAddMethodCmd, TRUE);
- kCollaboratorsMode:
- IF theEntryItemStr <> kEmptyString THEN
- Enable(cAddCollaboratorCmd, TRUE);
- END; {CASE}
-
- IF fFieldTextListView.FirstSelectedItem<> kNoItemSelected THEN
- Enable(cDelFieldCmd, TRUE);;
- IF fMethodTextListView.FirstSelectedItem<> kNoItemSelected THEN
- Enable(cDelMethodCmd, TRUE);;
- IF fCollaboratorTextListView.FirstSelectedItem<> kNoItemSelected THEN
- Enable(cDelCollaboratorCmd, TRUE);
- END; {TEditView.DoSetupMenus}
-
- {$S ADoCommand}
- PROCEDURE TEditView.AddField(theIndex: ArrayIndex);
-
- BEGIN
- fFieldTextListView.InsItemBefore(theIndex, kOneItem);
- END; {TEditView.AddField}
-
- {$S ADoCommand}
- PROCEDURE TEditView.AddFieldLast;
-
- BEGIN
- fFieldTextListView.InsItemLast(kOneItem);
- END; {TEditView.AddFieldLast}
-
- {$S ADoCommand}
- PROCEDURE TEditView.DeleteField(theIndex: INTEGER);
-
- BEGIN
- fFieldTextListView.SelectItem(theIndex, kDontExtendSel, kHiLite, kDontSelect);
- fFieldTextListView.DelItemAt(theIndex, kOneItem);
- END; {TEditView.DeleteField}
-
- {$S ADoCommand}
- PROCEDURE TEditView.AddMethod;
-
- VAR
- index: integer;
-
- BEGIN
- fMethodTextListView.InsItemLast(kOneItem);
- FOR index:= 1 to fMethodTextListView.GetNumRows DO
- fMethodTextListView.InvalidateItem(index);
- END; {TEditView.AddMethod}
-
- {$S ADoCommand}
- PROCEDURE TEditView.AddMethodLast;
-
- VAR
- index: ArrayIndex;
-
- BEGIN
- fMethodTextListView.InsItemLast(kOneItem);
- FOR index:= 1 to fMethodTextListView.GetNumRows DO
- fMethodTextListView.InvalidateItem(index);
- END; {TEditView.AddMethodLast}
-
- {$S ADoCommand}
- PROCEDURE TEditView.DeleteMethod(theIndex: INTEGER);
-
- BEGIN
- fMethodTextListView.SelectItem(theIndex, kDontExtendSel, kHiLite, kDontSelect);
- fMethodTextListView.DelItemAt(theIndex, kOneItem);
- END; {TEditView.DeleteMethod}
-
- {$S ADoCommand}
- PROCEDURE TEditView.AddCollaborator(theIndex: ArrayIndex);
-
- BEGIN
- fCollaboratorTextListView.InsItemBefore(theIndex, kOneItem);
- END; {TEditView.AddCollaborator}
-
- {$S ADoCommand}
- PROCEDURE TEditView.AddCollaboratorLast;
-
- BEGIN
- fCollaboratorTextListView.InsItemLast(kOneItem);
- END; {TEditView.AddCollaboratorLast}
-
- {$S ADoCommand}
- PROCEDURE TEditView.DeleteCollaborator(theIndex: INTEGER);
-
- BEGIN
- fCollaboratorTextListView.SelectItem(theIndex, kDontExtendSel, kHiLite, kDontSelect);
- fCollaboratorTextListView.DelItemAt(theIndex, kOneItem);
- END; {TEditView.DeleteCollaborator}
-
- {$S MARes}
- PROCEDURE TEditView.AcceptNewClassName;
-
- VAR
- theEntryItemStr: Str255;
- theItem: TItem;
-
- BEGIN
- fClassNameItem.GetText(theEntryItemStr);
- theItem:= fCard.GetTheClass;
- IF theEntryItemStr <> theItem.GetTheName THEN
- SELF.PostCommand(SELF.MakeChangeClassCmd);
- END;
-
- {$S MARes}
- PROCEDURE TEditView.AcceptNewSuperClassName;
-
- VAR
- theEntryItemStr: Str255;
- theItem: TItem;
-
- BEGIN
- fSuperClassNameItem.GetText(theEntryItemStr);
- theItem:= fCard.GetTheSuperClass;
- IF theEntryItemStr <> theItem.GetTheName THEN
- SELF.PostCommand(SELF.MakeChangeSuperClassCmd);
- END;
-
- {$S MARes}
- PROCEDURE TEditView.DoChoice(origView: TView; itsChoice: INTEGER); OVERRIDE;
-
- VAR
- typeMenuItemNum: INTEGER;
- theTypeStr: str255;
- theEntryItemStr: str255;
- theItem: TItem;
-
- FUNCTION HaveEqualNames(theName: str255):BOOLEAN;
- BEGIN
- HaveEqualNames:= (theItem.GetTheName = theName);
- END;
-
- BEGIN
- IF (origView = fItemTypeMenu) OR (origView = fCollaboratorsMenu) THEN
- SELF.StuffFieldTypeEntryItem;
- IF origView = fSuperClassTypeMenu THEN
- BEGIN
- SELF.StuffSuperClassEntryItem;
- SELF.PostCommand(SELF.MakeChangeSuperClassCmd);
- END;
- IF (itsChoice = mEditEnterKey) OR (itsChoice = mEditReturnKey)
- OR (itsChoice = mOKHit) THEN
- BEGIN
- {hilite the entry, because we're staying where we are}
- IF fCurrentEditText=fClassNameItem THEN
- BEGIN
- SELF.AcceptNewClassName;
- SELF.DoSelectEditText(fClassNameItem, TRUE);
- END;
- IF fCurrentEditText=fSuperClassNameItem THEN
- BEGIN
- SELF.AcceptNewSuperClassName;
- SELF.DoSelectEditText(fSuperClassNameItem, TRUE);
- END;
- END;
- IF (itsChoice = mEditTextHit) OR (itsChoice = mEditTabKey) THEN
- BEGIN
- {don't hilite the entry, because we'll move to a different field}
- IF fCurrentEditText=fClassNameItem THEN
- SELF.AcceptNewClassName;
- IF fCurrentEditText=fSuperClassNameItem THEN
- SELF.AcceptNewSuperClassName;
- END;
- IF (itsChoice = mOKHit) THEN
- BEGIN
- {in the case of an OKHit, always check first for changes in the class/super
- class field, then check for possible changes to the items. This may in
- fact be calling Accept… for the second time this pass, but it's necessary
- so that we can hilite everything appropriately}
- SELF.AcceptNewClassName;
- SELF.AcceptNewSuperClassName;
- fFieldEntryItem.GetText(theEntryItemStr);
- IF theEntryItemStr <> kEmptyString THEN
- CASE fEditMode OF
- kFieldsMode:
- BEGIN
- IF fFieldTextListView.FirstSelectedItem<>0 THEN
- SELF.PostCommand(SELF.MakeChangeFieldCmd)
- ELSE
- SELF.PostCommand(SELF.MakeAddFieldCmd);
- END;
- kMethodsMode:
- BEGIN
- IF fMethodTextListView.FirstSelectedItem<>0 THEN
- SELF.PostCommand(SELF.MakeChangeMethodCmd)
- ELSE
- SELF.PostCommand(SELF.MakeAddMethodCmd);
- END;
- kCollaboratorsMode:
- BEGIN
- IF fCollaboratorTextListView.FirstSelectedItem<>0 THEN
- SELF.PostCommand(SELF.MakeChangeCollaboratorCmd)
- ELSE
- SELF.PostCommand(SELF.MakeAddCollabCmd);
- END;
- END; {CASE}
- END;
- IF (itsChoice = mCancelHit) THEN
- CASE fEditMode OF {we want to clean out the entry view if we cancel}
- kFieldsMode:
- BEGIN
- SELF.SetupFieldsMode;
- SELF.DeselectFieldTextListView;
- END;
- kMethodsMode:
- BEGIN
- SELF.SetupMethodsMode;
- SELF.DeselectMethodTextListView;
- END;
- kCollaboratorsMode:
- BEGIN
- SELF.SetupCollaboratorsMode;
- SELF.DeselectCollaboratorTextListView;
- END;
- END; {CASE}
- INHERITED DoChoice(origView, itsChoice);
- END; {TEditView.DoChoice}
-
- {$S ARes}
- PROCEDURE TEditView.DeselectFieldTextListView;
- BEGIN
- fFieldTextListView.DeselectTheView;
- END;
-
- {$S ARes}
- PROCEDURE TEditView.DeselectMethodTextListView;
- BEGIN
- fMethodTextListView.DeselectTheView;
- END;
-
- {$S ARes}
- PROCEDURE TEditView.DeselectCollaboratorTextListView;
- BEGIN
- fCollaboratorTextListView.DeselectTheView;
- END;
-
- {$S ARes}
- PROCEDURE TEditView.DeactivateView;
- BEGIN
- {accept any class/superclass name changes that might have occured}
- SELF.AcceptNewClassName;
- SELF.AcceptNewSuperClassName;
- END;
-
- {$S AFields}
- PROCEDURE TEditView.Fields(PROCEDURE DoToField(
- fieldName: Str255; fieldAddr: Ptr; fieldType: INTEGER)); OVERRIDE;
-
-
- BEGIN
- DoToField('TEditView', NIL, bClass);
- DoToField('fCard', @fCard, bObject);
- DoToField('fClassNameItem', @fClassNameItem, bObject);
- DoToField('fSuperClassNameItem', @fSuperClassNameItem, bObject);
- DoToField('fFieldEntryItem', @fFieldEntryItem, bObject);
- DoToField('fFieldTypeEntryItem', @fFieldTypeEntryItem, bObject);
- DoToField('fFieldTextListView', @fFieldTextListView, bObject);
- DoToField('fMethodTextListView', @fMethodTextListView, bObject);
- DoToField('fCollaboratorTextListView', @fCollaboratorTextListView, bObject);
- DoToField('fItemTypeMenu', @fItemTypeMenu, bObject);
- DoToField('fOVERRIDEBox', @fOVERRIDEBox, bObject);
- INHERITED Fields(DoToField);
- END; {TEditView.Fields}
-
-
- (********************************)
- (* methods for TParenStaticText *)
- (********************************)
-
- {$S ARes}
- PROCEDURE TParenStaticText.SetText(theText: Str255; redraw: BOOLEAN); OVERRIDE;
-
- BEGIN
- theText:= Concat('(', theText, ')');
- INHERITED SetText(theText, redraw);
- END; {TParenStaticText.SetText}
-
-
- (***************************)
- (* methods for TSimpleView *)
- (***************************)
-
- {$S ARes}
- FUNCTION TSimpleView.GetCard: TCard;
-
- BEGIN
- GetCard:= fCard;
- END; {TSimpleView.GetCard}
-
- {$S ARes}
- PROCEDURE TSimpleView.SetCard(theCard:TCard);
-
- BEGIN
- fCard:= theCard;
- END; {TSimpleView.SetCard}
-
- {$S ARes}
- FUNCTION TSimpleView.GetClassView: TStaticText;
-
- BEGIN
- GetClassView:= fClassTextView;
- END; {TSimpleView.GetClassView}
-
- {$S ARes}
- PROCEDURE TSimpleView.SetClassView(theClassView:TStaticText);
-
- BEGIN
- fClassTextView:= theClassView;
- END; {TSimpleView.SetClassView}
-
- {$S ARes}
- FUNCTION TSimpleView.GetSuperClassView: TParenStaticText;
-
- BEGIN
- GetSuperClassView:= fSuperClassTextView;
- END; {TSimpleView.GetSuperClassView}
-
- {$S ARes}
- PROCEDURE TSimpleView.SetSuperClassView(theSuperClassView:TParenStaticText);
-
- BEGIN
- fSuperClassTextView:= theSuperClassView;
- END; {TSimpleView.SetSuperClassView}
-
- {$S ARes}
- FUNCTION TSimpleView.GetSelected: boolean;
-
- BEGIN
- GetSelected:= fSelected;
- END; {TSimpleView.GetSelected}
-
- {$S ARes}
- PROCEDURE TSimpleView.SetSelected(turnItOn:boolean);
-
- BEGIN
- fSelected:= turnItOn;
- END; {TSimpleView.SetSelected}
-
- {$S ARes}
- FUNCTION TSimpleView.GetDragging: boolean;
-
- BEGIN
- GetDragging:= fDragging;
- END; {TSimpleView.GetDragging}
-
- {$S ARes}
- PROCEDURE TSimpleView.SetDragging(turnItOn:boolean);
-
- BEGIN
- fDragging:= turnItOn;
- END; {TSimpleView.SetDragging}
-
- {$S ARes}
- PROCEDURE TSimpleView.ISimpleView;
-
- VAR
- aStaticTextView: TStaticText;
- aParenStaticTextView: TParenStaticText;
-
- BEGIN
- aStaticTextView:= TStaticText(SELF.FindSubView(kClassNameViewID));
- SELF.SetClassView(aStaticTextView);
-
- aParenStaticTextView:= TParenStaticText(SELF.FindSubView(kSuperNameViewID));
- SELF.SetSuperClassView(aParenStaticTextView);
-
- SELF.SetSelected(kIsSelected);
- END; {TSimpleView.ISimpleView}
-
- {$S ARes}
- PROCEDURE TSimpleView.IRes(itsDocument: TDocument;
- itsSuperView: TView; VAR itsParams: Ptr); OVERRIDE;
-
- VAR
- ourDesignDoc: TDesignDocument;
- ourCard: TCard;
-
- BEGIN
- INHERITED IRes(itsDocument, itsSuperView, itsParams);
-
- ourDesignDoc:= TDesignDocument(itsDocument);
- ourCard:= ourDesignDoc.GetCurrentCard;
- SELF.SetCard(ourCard);
- END; {TSimpleView.IRes}
-
- {$S ADoCommand}
- PROCEDURE TSimpleView.ChangeClassName(theName: str255);
-
- BEGIN
- fClassTextView.SetText(theName, kReDraw);
- END; {TSimpleView.ChangeClassName}
-
- {$S ADoCommand}
- PROCEDURE TSimpleView.ChangeSuperClassName(theName: str255);
-
- BEGIN
- fSuperClassTextView.SetText(theName, kReDraw);
- END; {TSimpleView.ChangeSuperClassName}
-
- {$S ARes}
- PROCEDURE TSimpleView.OpenEditView;
-
- VAR
- ourDocument: TDesignDocument;
- aCardWindow: TCardWindow;
- anEditDialog: TEditView;
-
- BEGIN
- IF fCard.GetEditView = NIL THEN
- BEGIN
- {writeln('first time');}
- ourDocument:= fCard.GetDocument;
- aCardWindow := TCardWindow(NewTemplateWindow(kEditViewID, ourDocument));
- anEditDialog := TEditView(aCardWindow.FindSubView(kEditViewNameID));
- anEditDialog.IEditView(fCard); {had to do this here to get card}
- fCard.SetEditView(anEditDialog);
- aCardWindow.ICardWindow(anEditDialog);
- {writeln('before open');}
- aCardWindow.Open;
- {writeln('after open');}
- END
- ELSE
- BEGIN
- {writeln('second time');}
- anEditDialog:= fCard.GetEditView;
- aCardWindow:= TCardWindow(anEditDialog.GetWindow);
- aCardWindow.Show(true, true);
- aCardWindow.Select;
- END;
- END;
-
- {$S ASelCommand}
- FUNCTION TSimpleView.DoMouseCommand(VAR theMouse: Point;
- VAR info: EventInfo; VAR hysteresis: Point): TCommand; OVERRIDE;
-
- VAR
- ourDocument: TDesignDocument;
- aDragger: TDraggerCommand;
-
- BEGIN
- DoMouseCommand:= gNoChanges;
- CASE info.theClickCount OF
- kOneClick:
- BEGIN
- ourDocument:= fCard.GetDocument;
- ourDocument.SetCurrentCard(fCard);
- NEW(aDragger);
- FailNIL(aDragger);
- aDragger.IDraggerCommand(SELF, theMouse);
- DoMouseCommand:= aDragger;
- END;
- kTwoClicks: SELF.OpenEditView;
- OTHERWISE
- {do nothing};
- END; {CASE}
- END; {TSimpleView.DoMouseCommand}
-
- {$S ARes}
- PROCEDURE TSimpleView.DoHighlightSelection(fromHL, toHL: HLState); OVERRIDE;
-
- VAR
- theIcon: TIcon;
-
- PROCEDURE OutLineView(theColor: LONGINT);
-
- VAR
- itsQDExtent: Rect;
-
- BEGIN
- PenNormal;
- ForeColor(theColor);
- PenSize(1, 1);
- SetRect(itsQDExtent, 0, 0, SELF.fSize.h, SELF.fSize.v);
- FrameRect(itsQDExtent);
- END;
-
- BEGIN
- IF fSelected THEN
- BEGIN
- theIcon:= TIcon(SELF.FindSubView(kIconViewID));
- FailNIL(theIcon);
-
- IF (fromHL = hlOff) AND (toHL = hlOn) THEN
- theIcon.HiliteState(kHiLite, kReDraw);
-
- IF (fromHL = hlOff) AND (toHL = hlDim) THEN
- BEGIN
- OutLineView(blackColor);
- theIcon.HiliteState(NOT(kHilite), kReDraw);
- theIcon.DimState(kDim, kReDraw);
- END;
-
- IF (fromHL = hlOn) AND (toHL = hlOff) THEN
- theIcon.HiliteState(NOT(kHiLite), kReDraw);
-
- IF (fromHL = hlOn) AND (toHL = hlDim) THEN
- BEGIN
- OutLineView(blackColor);
- theIcon.HiliteState(NOT(kHilite), kReDraw);
- theIcon.DimState(kDim, kReDraw);
- END;
-
- IF (fromHL = hlDim) AND (toHL = hlOn) THEN
- BEGIN
- OutLineView(whiteColor);
- theIcon.HiliteState(kHilite, kReDraw);
- theIcon.DimState((NOT kDim), kReDraw);
- END;
-
- IF (fromHL = hlDim) AND (toHL = hlOff) THEN
- BEGIN
- OutLineView(whiteColor);
- theIcon.HiliteState((NOT kHilite), kReDraw);
- theIcon.DimState((NOT kDim), kReDraw);
- END;
- END;
- END; {TSimpleView.DoHighlightSelection}
-
- {$S AFields}
- PROCEDURE TSimpleView.Fields(PROCEDURE DoToField(fieldName: Str255; fieldAddr: Ptr;
- fieldType: INTEGER)); OVERRIDE;
-
- BEGIN
- DoToField('TSimpleView', NIL, bClass);
- DoToField('fCard', @fCard, bObject);
- DoToField('fClassTextView', @fClassTextView, bObject);
- DoToField('fSuperClassTextView', @fSuperClassTextView, bObject);
- DoToField('fSelected', @fSelected, bBoolean);
- DoToField('fDragging', @fDragging, bBoolean);
- INHERITED Fields(DoToField);
- END; {TSimpleView.Fields}
-
-
- (*****************************)
- (* methods for TCardWindow *)
- (*****************************)
-
- {$S AOpen}
- PROCEDURE TCardWindow.ICardWindow(theEditView: TEditView);
-
- BEGIN
- { writeln('IN TCardWindow.ICardWindow');}
- fEditView:=theEditView;
- {writeln('Done w/ TCardWindow.ICardWindow');}
- END;
-
- {$S AOpen}
- PROCEDURE TCardWindow.Activate(entering : Boolean); OVERRIDE;
-
- BEGIN
- {writeln('in activate');}
- IF NOT entering THEN
- fEditView.DeactivateView;
- {writeln('inherited activate');}
- INHERITED Activate(entering);
- END;
-
- (**************************)
- (* methods for TNewButton *)
- (**************************)
- {$ARes}
- FUNCTION TNewButton.GetEditView: TEditView;
- BEGIN
- GetEditView:= fEditView;
- END;
-
- {$ARes}
- PROCEDURE TNewButton.SetEditView(theEditView: TEditView);
- BEGIN
- fEditView:=theEditView;
- END;
-
- {$AOpen}
- PROCEDURE TNewButton.INewButton(theEditView: TEditView);
- BEGIN
- SELF.SetEditView(theEditView);
- END;
-
- {$ASelCommand}
- PROCEDURE TNewButton.DoChoice(origView: TView; itsChoice: INTEGER); OVERRIDE;
-
- BEGIN
- INHERITED DoChoice(origView, itsChoice);
- fEditView.DeselectFieldTextListView;
- fEditView.DeselectMethodTextListView;
- fEditView.DeselectCollaboratorTextListView;
- END;
-
- {$ASelCommand}
- PROCEDURE TNewFieldButton.DoChoice(origView: TView; itsChoice: INTEGER); OVERRIDE;
-
- BEGIN
- INHERITED DoChoice(origView, itsChoice);
- SELF.GetEditView.SetUpFieldsMode;
- END;
-
- {$ASelCommand}
- PROCEDURE TNewMethodButton.DoChoice(origView: TView; itsChoice: INTEGER); OVERRIDE;
-
- BEGIN
- INHERITED DoChoice(origView, itsChoice);
- SELF.GetEditView.SetUpMethodsMode;
- END;
-
- {$ASelCommand}
- PROCEDURE TNewCollaboratorButton.DoChoice(origView: TView; itsChoice: INTEGER); OVERRIDE;
-
- BEGIN
- INHERITED DoChoice(origView, itsChoice);
- SELF.GetEditView.SetUpCollaboratorsMode;
- END;
-
- (*****************************)
- (* methods for TAcceptButton *)
- (*****************************)
- {$AOpen}
- PROCEDURE TAcceptButton.IRes(itsDocument: TDocument; itsSuperView: TView;
- VAR itsParams: Ptr); OVERRIDE;
- BEGIN
- INHERITED IRes(itsDocument, itsSuperView, itsParams);
- fDefChoice:= mOKHit;
- END;
-
- (*****************************)
- (* methods for TCancelButton *)
- (*****************************)
- {$AOpen}
- PROCEDURE TCancelButton.IRes(itsDocument: TDocument; itsSuperView: TView;
- VAR itsParams: Ptr); OVERRIDE;
- BEGIN
- INHERITED IRes(itsDocument, itsSuperView, itsParams);
- fDefChoice:= mCancelHit;
- END;
-
- (*****************************)
- (* methods for TTextListView *)
- (*****************************)
-
- {$S ARes}
- FUNCTION TMyTextListView.GetEditView: TEditView;
-
- BEGIN
- GetEditView:= fEditView;
- END; {TMyTextListView.GetEditView}
-
- {$S ARes}
- PROCEDURE TMyTextListView.SetEditView(theEditView:TEditView);
-
- BEGIN
- fEditView:= theEditView;
- END; {TMyTextListView.SetEditView}
-
- {$S ARes}
- FUNCTION TMyTextListView.GetItemList: TMyList;
-
- BEGIN
- GetItemList:= fItemList;
- END; {TMyTextListView.GetItemList}
-
- {$S ARes}
- PROCEDURE TMyTextListView.SetItemList(theList:TMyList);
-
- BEGIN
- fItemList:= theList;
- END; {TMyTextListView.SetItemList}
-
- {$S ARes}
- PROCEDURE TMyTextListView.GetItemText(anItem: INTEGER; VAR aString: Str255); OVERRIDE;
-
- VAR
- ourItem: TItem;
-
- BEGIN
- ourItem:= TItem(fItemList.At(anItem));
- aString:= ourItem.GetTheItem;
- END; {TMyTextListView.GetItemText}
-
- {$S ARes}
- FUNCTION TMyTextListView.GetNumRows: integer;
-
- BEGIN
- GetNumRows:= fNumOfRows;
- END; {TMyTextListView.GetNumRows}
-
- {$S Ares}
- PROCEDURE TMyTextListView.DeselectTheView;
-
- BEGIN
- IF SELF.Focus THEN ;
- {write(SELF.FirstSelectedItem);}
- SELF.SelectItem(SELF.FirstSelectedItem,kDontExtendSel,kHiLite,kDontSelect);
- {write('.');}
- END; {TMyTextListView.DeselectTheView}
-
- {$S ARes}
- PROCEDURE TMyTextListView.StuffTheItemEditView(theItemNumber:INTEGER);
-
- BEGIN
- ProgramBreak('TMyTextListView.StuffTheItemEditView');
- END;
-
- {$S ARes}
- PROCEDURE TMyTextListView.UpdateTheItem(theWindow: TWindow; theItem: TItem);
-
- BEGIN
- ProgramBreak('TMyTextListView.UpdateTheItem');
- END;
-
- {$S ARes}
- FUNCTION TMyTextListView.GetTheItemToEdit(theItemNumber:INTEGER): TItem;
-
- BEGIN
- {writeln(FirstSelectedItem);}
- GetTheItemToEdit:=TItem(SELF.GetItemList.At(theItemNumber));
- END;
-
- {$S ARes}
- PROCEDURE TMyTextListView.SetEditField(kNameField: IDType; aString: Str255;
- aWindow: TWindow);
- VAR
- theEditText: TEditText;
-
- BEGIN
- theEditText:=TEditText(aWindow.FindSubview(kNameField));
- theEditText.SetText(aString, TRUE);
- END;
-
- {$S ARes}
- FUNCTION TMyTextListView.GetEditField(kNameField: IDType; aWindow: TWindow): Str255;
- VAR
- theEditText: TEditText;
- aString: Str255;
-
- BEGIN
- theEditText:=TEditText(aWindow.FindSubview(kNameField));
- theEditText.GetText(aString);
- GetEditField:=aString;
- END;
-
- {$S AFields}
- PROCEDURE TMyTextListView.Fields(PROCEDURE DoToField(fieldName: Str255; fieldAddr: Ptr;
- fieldType: INTEGER)); OVERRIDE;
-
- BEGIN
- DoToField('TMyTextListView', NIL, bClass);
- DoToField('fItemList', @fItemList, bObject);
- INHERITED Fields(DoToField);
- END; {TMyTextListView.Fields}
-
- {---------- Methods for TMethodTextListView ----------}
-
- {$S ARes}
- PROCEDURE TMethodTextListView.StuffTheItemEditView(theItemNumber:INTEGER); OVERRIDE;
-
- VAR
- aMethodItem: TMethodItem;
- aString: Str255;
- theEditView: TEditView;
-
- BEGIN
- aMethodItem:= TMethodItem(SELF.GetTheItemToEdit(theItemNumber));
- theEditView:=SELF.GetEditView;
- aString:= aMethodItem.GetTheItem;
- theEditView.GetFieldEntryView.SetText(aString, kRedraw);
- theEditView.SetOVERRIDE(aMethodItem.GetOVERRIDE);
- theEditView.DoSelectEditText(theEditView.GetFieldEntryView, TRUE);
- END;
-
- {$S ARes}
- PROCEDURE TMethodTextListView.SelectItem(anitem: INTEGER;
- extendSelection, highlight, select: BOOLEAN); OVERRIDE;
- BEGIN
- INHERITED SelectItem(anItem, extendSelection, highlight, select);
- IF select THEN
- SELF.StuffTheItemEditView(anitem);
- END;
-
- {$S ARes}
- PROCEDURE TMethodTextListView.UpdateTheItem(theWindow: TWindow; theItem: TItem); OVERRIDE;
-
- BEGIN
- ProgramBreak('TMethodTextListView.UpdateTheItem');
- END;
-
- {$S ARes}
- FUNCTION TMethodTextListView.DoMouseCommand(VAR theMouse: Point;
- VAR info: EventInfo;
- VAR hysteresis: Point): TCommand; OVERRIDE;
-
- BEGIN
- DoMouseCommand:= INHERITED DoMouseCommand(theMouse, info, hysteresis);
- CASE info.theClickCount OF
- kOneClick:
- BEGIN
- SELF.GetEditView.DeselectFieldTextListView;
- SELF.GetEditView.DeselectCollaboratorTextListView;
- SELF.GetEditView.SetUpMethodsMode;
- IF SELF.Focus THEN ;
- END;
- OTHERWISE
- {do nothing};
- END; {CASE}
- END; {TMethodTextListView.DoMouseCommand}
-
- {---------- Methods for TModalTextListView ----------}
-
- {$S ARes}
- PROCEDURE TModalTextListView.StuffTheItemEditView(theItemNumber:INTEGER); OVERRIDE;
-
- VAR
- aItem: TItem;
- aString: Str255;
- theEditView: TEditView;
-
- BEGIN
- aItem:= SELF.GetTheItemToEdit(theItemNumber);
- theEditView:=SELF.GetEditView;
- aString:= TFieldItem(aItem).GetTheItem;
- theEditView.GetFieldEntryView.SetText(aString, kRedraw);
- aString:= TFieldItem(aItem).GetItemType;
- theEditView.GetTypeEntryView.SetText(aString, kRedraw);
- theEditView.DoSelectEditText(theEditView.GetFieldEntryView, TRUE);
- END;
-
- {$S ARes}
- PROCEDURE TModalTextListView.UpdateTheItem(theWindow: TWindow; theItem: TItem); OVERRIDE;
- VAR
- aString: Str255;
-
- BEGIN
- aString:=GetEditField(kTypeField,theWindow);
- TFieldItem(theItem).SetItemType(aString);
- aString:=GetEditField(kNameField,theWindow);
- TFieldItem(theItem).SetTheName(aString);
- END;
-
- {---------- Methods for TCollaboratorTextListView ----------}
-
- {$S ARes}
- PROCEDURE TCollaboratorTextListView.SelectItem(anitem: INTEGER;
- extendSelection, highlight, select: BOOLEAN); OVERRIDE;
- BEGIN
- INHERITED SelectItem(anItem, extendSelection, highlight, select);
- IF select THEN
- SELF.StuffTheItemEditView(anitem);
- END;
-
- {$S ARes}
- FUNCTION TCollaboratorTextListView.DoMouseCommand(VAR theMouse: Point;
- VAR info: EventInfo;
- VAR hysteresis: Point): TCommand; OVERRIDE;
-
- BEGIN
- DoMouseCommand:= INHERITED DoMouseCommand(theMouse, info, hysteresis);
- CASE info.theClickCount OF
- kOneClick:
- BEGIN
- SELF.GetEditView.DeselectFieldTextListView;
- SELF.GetEditView.DeselectMethodTextListView;
- SELF.GetEditView.SetUpCollaboratorsMode;
- IF SELF.Focus THEN ;
- END;
- OTHERWISE
- {do nothing};
- END; {CASE}
- END; {TCollaboratorTextListView.DoMouseCommand}
-
- {---------- Methods for TFieldTextListView ----------}
-
- {$S ARes}
- PROCEDURE TFieldTextListView.SelectItem(anitem: INTEGER;
- extendSelection, highlight, select: BOOLEAN); OVERRIDE;
- BEGIN
- INHERITED SelectItem(anItem, extendSelection, highlight, select);
- IF select THEN
- SELF.StuffTheItemEditView(anitem);
- END;
-
- {$S ARes}
- FUNCTION TFieldTextListView.DoMouseCommand(VAR theMouse: Point;
- VAR info: EventInfo;
- VAR hysteresis: Point): TCommand; OVERRIDE;
-
- BEGIN
- DoMouseCommand:= INHERITED DoMouseCommand(theMouse, info, hysteresis);
- CASE info.theClickCount OF
- kOneClick:
- BEGIN
- SELF.GetEditView.DeselectCollaboratorTextListView;
- SELF.GetEditView.DeselectMethodTextListView;
- SELF.GetEditView.SetUpFieldsMode;
- IF SELF.Focus THEN ;
- END;
- OTHERWISE
- {do nothing};
- END; {CASE}
- END; {TFieldTextListView.DoMouseCommand}
-
- (*************************)
- (* methods for TMyTEView *)
- (*************************)
-
- {$S ARes}
- FUNCTION TMyTEView.GetDesignDoc: TDesignDocument;
-
- BEGIN
- GetDesignDoc:= fDesignDocument;
- END; {TMyTEView.GetDesignDoc}
-
- {$S ARes}
- PROCEDURE TMyTEView.SetDesignDoc(theDesignDoc: TDesignDocument);
-
- BEGIN
- fDesignDocument:= theDesignDoc;
- END; {TMyTEView.SetDesignDoc}
-
- {$S ARes}
- PROCEDURE TMyTEView.DesignDocumentIsGone;
-
- BEGIN
- SELF.SetDesignDoc(NIL);
- TMPWTextDocument(fDocument).SetDesignDoc(NIL);
- END; {TMyTEView.DesignDocumentIsGone}
-
- {$S ARes}
- PROCEDURE TMyTEView.ClearText;
-
- BEGIN
- TESetSelect(kBeginning, kEnd, fHTE);
- TEDelete(fHTE);
- END; {TMyTEView.ClearText}
-
- {$S ARes}
- PROCEDURE TMyTEView.WriteToMyTEView(theString: str255);
-
- BEGIN
- IF SELF.Focus THEN;
- TEInsert(@theString[1], Length(theString), fHTE);
- END; {TMyTEView.WriteToMyTEView}
-
- {$S ARes}
- PROCEDURE TMyTEView.WriteEndOfLine;
-
- VAR
- TextLength: INTEGER;
-
- BEGIN
- SELF.WriteToMyTEView(gEndOfLineStr);
- TextLength:= GetHandleSize(fText);
- TESetSelect(TextLength - 1, TextLength, fHTE);
- TEDelete(fHTE);
- END; {TMyTEView.WriteEndOfLine}
-
- {$S ARes}
- PROCEDURE TMyTEView.FinishWriteOperation;
-
- VAR
- aScroller: TScroller;
-
- BEGIN
- SELF.SynchView(NOT kReDraw);
- aScroller:= SELF.GetScroller(kUseImmediateSuperView);
- IF aScroller <> NIL THEN
- aScroller.ScrollTo(kBeginning, kBeginning, kReDraw);
- TMPWTextDocument(fDocument).SetDocText(fText);
- fDocument.SetChangeCount(fDocument.GetChangeCount + 1);
- END; {TMyTEView.FinishWriteOperation}
-
- {$S AFields}
- PROCEDURE TMyTEView.Fields(PROCEDURE DoToField(fieldName: Str255; fieldAddr: Ptr;
- fieldType: INTEGER)); OVERRIDE;
-
- BEGIN
- DoToField('TMyTEView', NIL, bClass);
- DoToField('fDesignDocument', @fDesignDocument, bObject);
- INHERITED Fields(DoToField);
- END; {TMyTEView.Fields}
-
-
-